package com.haiyi.activiti.engine.framework.activiti.manager;

import org.activiti.engine.repository.Deployment;

import java.io.InputStream;

/**
 * <p> </p>
 *
 * <pre> Created: 2018/12/5 15:36 </pre>
 *
 * @author hlu
 * @version 1.0
 * @since JDK 1.7
 */
public interface DeployManager {

    /**
     * 布置一个流程文件
     * @param classpath 文件路径,要求后缀为.bpmn或.bpmn.xml
     * @return
     */
    Deployment deployByClassPath(String classpath);

    /**
     * 以输入流的方式布置一个流程文件
     * @param resourceName 资源文件名
     * @param inputStream
     * @return
     */
    Deployment deployByInputStream(String resourceName,InputStream inputStream);

    /**
     * 以文件的文本内容布置一个流程文件
     * @param resourceName 资源文件名
     * @param text 要求是一个标准的xml文件内容，并且满足bpmn标准的规范
     * @return
     */
    Deployment deployByString(String resourceName,String text);

    void deleteDeployment(String deployId,boolean cascade);
}
